//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.restaurant.application.accumulategoodscoupon.support;

import com.google.common.collect.Lists;
import com.nebutown.commonunits.dataface.definitions.DynamicValue;
import com.nebutown.generation.Convert;
import com.nebutown.generation.PickableBean;
import com.nebutown.generation.basictype.UID;
import com.nebutown.generation.basictype.UIDLists;
import java.util.List;
import java.util.stream.Collectors;

public class GoodsCouponData implements PickableBean {
    public static final String FN_CREATETIME = "createTime";
    public static final String FN_MODIFYTIME = "modifyTime";
    public static final String FN_GOODSID = "goodsId";
    public static final String FN_GOODSNAME = "goodsName";
    public static final String FN_IMAGES = "images";
    public static final String FN_GOODSCATEGORY = "goodsCategory";
    public static final String FN_TYPEID = "typeId";
    public static final String FN_TYPEIDUID = "typeIdUid";
    public static final String FN_ACCESSLEVEL = "accessLevel";
    public static final String FN_LEVELUID = "levelUid";
    public static final String FN_ACCUMULATEPOINTS = "accumulatePoints";
    public static final String FN_GOODSDESCRIBE = "goodsDescribe";
    public static final String FN_NUMBERLIMIT = "numberLimit";
    public static final String FN_STATE = "state";
    public static final String FN_FORSELLTIME = "forSellTime";
    public static final String FN_REMOVETIME = "removeTime";
    public static final String FN_SOLDNUMBER = "soldNumber";
    public static final String FN_TOTALNUMBER = "totalNUmber";
    public static final String FN_IMMEDIATELY = "immediately";
    public static final String FN_USESHOPNAME = "useShopName";
    public static final String FN_USESHOPID = "useShopId";
    public static final String FN_USESHOPUID = "useShopUid";
    public static final String FN_COUPONNAME = "couponName";
    public static final String FN_COUPONMANAGEMENTID = "couponManagementId";
    public static final String FN_COUPONMANAGEMENT = "couponManagement";
    public static final String FN_STARTUSETIME = "startUseTime";
    public static final String FN_ENDTIME = "endTime";
    public static final List<String> FIELD_NAMES = Lists.newArrayList(new String[]{"createTime", "modifyTime", "goodsId", "goodsName", "images", "goodsCategory", "typeId", "typeIdUid", "accessLevel", "levelUid", "accumulatePoints", "goodsDescribe", "numberLimit", "state", "forSellTime", "removeTime", "soldNumber", "totalNUmber", "immediately", "useShopName", "useShopId", "useShopUid", "couponName", "couponManagementId", "couponManagement", "startUseTime", "endTime"});
    private Long createTime;
    private Long modifyTime;
    private String goodsId;
    private String goodsName;
    private String images;
    private String goodsCategory;
    private String typeId;
    private String typeIdUid;
    private List<String> accessLevel;
    private UIDLists levelUid;
    private Long accumulatePoints;
    private String goodsDescribe;
    private Long numberLimit;
    private String state;
    private Long forSellTime;
    private Long removeTime;
    private Long soldNumber;
    private Long totalNUmber;
    private Boolean immediately;
    private String useShopName;
    private String useShopId;
    private UID useShopUid;
    private String couponName;
    private DynamicValue couponManagementId;
    private UID couponManagement;
    private Long startUseTime;
    private Long endTime;

    public GoodsCouponData(Long createTime, Long modifyTime, String goodsId, String goodsName, String images, String goodsCategory, String typeId, String typeIdUid, List<String> accessLevel, UIDLists levelUid, Long accumulatePoints, String goodsDescribe, Long numberLimit, String state, Long forSellTime, Long removeTime, Long soldNumber, Long totalNUmber, Boolean immediately, String useShopName, String useShopId, UID useShopUid, String couponName, DynamicValue couponManagementId, UID couponManagement, Long startUseTime, Long endTime) {
        this.setCreateTime(createTime);
        this.setModifyTime(modifyTime);
        this.setGoodsId(goodsId);
        this.setGoodsName(goodsName);
        this.setImages(images);
        this.setGoodsCategory(goodsCategory);
        this.setTypeId(typeId);
        this.setTypeIdUid(typeIdUid);
        this.setAccessLevel(accessLevel);
        this.setLevelUid(levelUid);
        this.setAccumulatePoints(accumulatePoints);
        this.setGoodsDescribe(goodsDescribe);
        this.setNumberLimit(numberLimit);
        this.setState(state);
        this.setForSellTime(forSellTime);
        this.setRemoveTime(removeTime);
        this.setSoldNumber(soldNumber);
        this.setTotalNUmber(totalNUmber);
        this.setImmediately(immediately);
        this.setUseShopName(useShopName);
        this.setUseShopId(useShopId);
        this.setUseShopUid(useShopUid);
        this.setCouponName(couponName);
        this.setCouponManagementId(couponManagementId);
        this.setCouponManagement(couponManagement);
        this.setStartUseTime(startUseTime);
        this.setEndTime(endTime);
    }

    public GoodsCouponData() {
    }

    public GoodsCouponData duplicate() {
        GoodsCouponData result = new GoodsCouponData();
        result.createTime = this.createTime;
        result.modifyTime = this.modifyTime;
        result.goodsId = this.goodsId;
        result.goodsName = this.goodsName;
        result.images = this.images;
        result.goodsCategory = this.goodsCategory;
        result.typeId = this.typeId;
        result.typeIdUid = this.typeIdUid;
        result.accessLevel = this.accessLevel == null ? null : (List)this.accessLevel.stream().map((e1) -> {
            return e1;
        }).collect(Collectors.toList());
        result.levelUid = this.levelUid == null ? null : this.levelUid.duplicate();
        result.accumulatePoints = this.accumulatePoints;
        result.goodsDescribe = this.goodsDescribe;
        result.numberLimit = this.numberLimit;
        result.state = this.state;
        result.forSellTime = this.forSellTime;
        result.removeTime = this.removeTime;
        result.soldNumber = this.soldNumber;
        result.totalNUmber = this.totalNUmber;
        result.immediately = this.immediately;
        result.useShopName = this.useShopName;
        result.useShopId = this.useShopId;
        result.useShopUid = this.useShopUid;
        result.couponName = this.couponName;
        result.couponManagementId = this.couponManagementId == null ? null : this.couponManagementId.duplicate();
        result.couponManagement = this.couponManagement;
        result.startUseTime = this.startUseTime;
        result.endTime = this.endTime;
        return result;
    }

    public String toString() {
        return Convert.toJson(this);
    }

    public Long getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Long value) {
        this.createTime = value;
    }

    public GoodsCouponData withCreateTime(Long value) {
        this.setCreateTime(value);
        return this;
    }

    public GoodsCouponData withCreateTime(Long value, Long defaultValue) {
        this.setCreateTime(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTime() {
        return this.modifyTime;
    }

    public void setModifyTime(Long value) {
        this.modifyTime = value;
    }

    public GoodsCouponData withModifyTime(Long value) {
        this.setModifyTime(value);
        return this;
    }

    public GoodsCouponData withModifyTime(Long value, Long defaultValue) {
        this.setModifyTime(value == null ? defaultValue : value);
        return this;
    }

    public String getGoodsId() {
        return this.goodsId;
    }

    public void setGoodsId(String value) {
        this.goodsId = value;
    }

    public GoodsCouponData withGoodsId(String value) {
        this.setGoodsId(value);
        return this;
    }

    public GoodsCouponData withGoodsId(String value, String defaultValue) {
        this.setGoodsId(value == null ? defaultValue : value);
        return this;
    }

    public String getGoodsName() {
        return this.goodsName;
    }

    public void setGoodsName(String value) {
        this.goodsName = value;
    }

    public GoodsCouponData withGoodsName(String value) {
        this.setGoodsName(value);
        return this;
    }

    public GoodsCouponData withGoodsName(String value, String defaultValue) {
        this.setGoodsName(value == null ? defaultValue : value);
        return this;
    }

    public String getImages() {
        return this.images;
    }

    public void setImages(String value) {
        this.images = value;
    }

    public GoodsCouponData withImages(String value) {
        this.setImages(value);
        return this;
    }

    public GoodsCouponData withImages(String value, String defaultValue) {
        this.setImages(value == null ? defaultValue : value);
        return this;
    }

    public String getGoodsCategory() {
        return this.goodsCategory;
    }

    public void setGoodsCategory(String value) {
        this.goodsCategory = value;
    }

    public GoodsCouponData withGoodsCategory(String value) {
        this.setGoodsCategory(value);
        return this;
    }

    public GoodsCouponData withGoodsCategory(String value, String defaultValue) {
        this.setGoodsCategory(value == null ? defaultValue : value);
        return this;
    }

    public String getTypeId() {
        return this.typeId;
    }

    public void setTypeId(String value) {
        this.typeId = value;
    }

    public GoodsCouponData withTypeId(String value) {
        this.setTypeId(value);
        return this;
    }

    public GoodsCouponData withTypeId(String value, String defaultValue) {
        this.setTypeId(value == null ? defaultValue : value);
        return this;
    }

    public String getTypeIdUid() {
        return this.typeIdUid;
    }

    public void setTypeIdUid(String value) {
        this.typeIdUid = value;
    }

    public GoodsCouponData withTypeIdUid(String value) {
        this.setTypeIdUid(value);
        return this;
    }

    public GoodsCouponData withTypeIdUid(String value, String defaultValue) {
        this.setTypeIdUid(value == null ? defaultValue : value);
        return this;
    }

    public List<String> getAccessLevel() {
        if (this.accessLevel == null) {
            this.accessLevel = Lists.newArrayList();
        }

        return this.accessLevel;
    }

    public void setAccessLevel(List<String> value) {
        this.accessLevel = value;
    }

    public GoodsCouponData withAccessLevel(List<String> value) {
        this.setAccessLevel(value);
        return this;
    }

    public GoodsCouponData withAccessLevel(List<String> value, List<String> defaultValue) {
        this.setAccessLevel(value == null ? defaultValue : value);
        return this;
    }

    public GoodsCouponData addAccessLevel(String value) {
        if (this.accessLevel == null) {
            this.accessLevel = Lists.newArrayList();
        }

        this.accessLevel.add(value);
        return this;
    }

    public UIDLists getLevelUid() {
        if (this.levelUid == null) {
            this.levelUid = new UIDLists();
        }

        return this.levelUid;
    }

    public void setLevelUid(UIDLists value) {
        this.levelUid = value;
    }

    public GoodsCouponData withLevelUid(UIDLists value) {
        this.setLevelUid(value);
        return this;
    }

    public GoodsCouponData withLevelUid(UIDLists value, UIDLists defaultValue) {
        this.setLevelUid(value == null ? defaultValue : value);
        return this;
    }

    public Long getAccumulatePoints() {
        return this.accumulatePoints;
    }

    public void setAccumulatePoints(Long value) {
        this.accumulatePoints = value;
    }

    public GoodsCouponData withAccumulatePoints(Long value) {
        this.setAccumulatePoints(value);
        return this;
    }

    public GoodsCouponData withAccumulatePoints(Long value, Long defaultValue) {
        this.setAccumulatePoints(value == null ? defaultValue : value);
        return this;
    }

    public String getGoodsDescribe() {
        return this.goodsDescribe;
    }

    public void setGoodsDescribe(String value) {
        this.goodsDescribe = value;
    }

    public GoodsCouponData withGoodsDescribe(String value) {
        this.setGoodsDescribe(value);
        return this;
    }

    public GoodsCouponData withGoodsDescribe(String value, String defaultValue) {
        this.setGoodsDescribe(value == null ? defaultValue : value);
        return this;
    }

    public Long getNumberLimit() {
        return this.numberLimit;
    }

    public void setNumberLimit(Long value) {
        this.numberLimit = value;
    }

    public GoodsCouponData withNumberLimit(Long value) {
        this.setNumberLimit(value);
        return this;
    }

    public GoodsCouponData withNumberLimit(Long value, Long defaultValue) {
        this.setNumberLimit(value == null ? defaultValue : value);
        return this;
    }

    public String getState() {
        return this.state;
    }

    public void setState(String value) {
        this.state = value;
    }

    public GoodsCouponData withState(String value) {
        this.setState(value);
        return this;
    }

    public GoodsCouponData withState(String value, String defaultValue) {
        this.setState(value == null ? defaultValue : value);
        return this;
    }

    public Long getForSellTime() {
        return this.forSellTime;
    }

    public void setForSellTime(Long value) {
        this.forSellTime = value;
    }

    public GoodsCouponData withForSellTime(Long value) {
        this.setForSellTime(value);
        return this;
    }

    public GoodsCouponData withForSellTime(Long value, Long defaultValue) {
        this.setForSellTime(value == null ? defaultValue : value);
        return this;
    }

    public Long getRemoveTime() {
        return this.removeTime;
    }

    public void setRemoveTime(Long value) {
        this.removeTime = value;
    }

    public GoodsCouponData withRemoveTime(Long value) {
        this.setRemoveTime(value);
        return this;
    }

    public GoodsCouponData withRemoveTime(Long value, Long defaultValue) {
        this.setRemoveTime(value == null ? defaultValue : value);
        return this;
    }

    public Long getSoldNumber() {
        return this.soldNumber;
    }

    public void setSoldNumber(Long value) {
        this.soldNumber = value;
    }

    public GoodsCouponData withSoldNumber(Long value) {
        this.setSoldNumber(value);
        return this;
    }

    public GoodsCouponData withSoldNumber(Long value, Long defaultValue) {
        this.setSoldNumber(value == null ? defaultValue : value);
        return this;
    }

    public Long getTotalNUmber() {
        return this.totalNUmber;
    }

    public void setTotalNUmber(Long value) {
        this.totalNUmber = value;
    }

    public GoodsCouponData withTotalNUmber(Long value) {
        this.setTotalNUmber(value);
        return this;
    }

    public GoodsCouponData withTotalNUmber(Long value, Long defaultValue) {
        this.setTotalNUmber(value == null ? defaultValue : value);
        return this;
    }

    public Boolean getImmediately() {
        return this.immediately;
    }

    public void setImmediately(Boolean value) {
        this.immediately = value;
    }

    public GoodsCouponData withImmediately(Boolean value) {
        this.setImmediately(value);
        return this;
    }

    public GoodsCouponData withImmediately(Boolean value, Boolean defaultValue) {
        this.setImmediately(value == null ? defaultValue : value);
        return this;
    }

    public String getUseShopName() {
        return this.useShopName;
    }

    public void setUseShopName(String value) {
        this.useShopName = value;
    }

    public GoodsCouponData withUseShopName(String value) {
        this.setUseShopName(value);
        return this;
    }

    public GoodsCouponData withUseShopName(String value, String defaultValue) {
        this.setUseShopName(value == null ? defaultValue : value);
        return this;
    }

    public String getUseShopId() {
        return this.useShopId;
    }

    public void setUseShopId(String value) {
        this.useShopId = value;
    }

    public GoodsCouponData withUseShopId(String value) {
        this.setUseShopId(value);
        return this;
    }

    public GoodsCouponData withUseShopId(String value, String defaultValue) {
        this.setUseShopId(value == null ? defaultValue : value);
        return this;
    }

    public UID getUseShopUid() {
        return this.useShopUid;
    }

    public void setUseShopUid(UID value) {
        this.useShopUid = value;
    }

    public GoodsCouponData withUseShopUid(UID value) {
        this.setUseShopUid(value);
        return this;
    }

    public GoodsCouponData withUseShopUid(UID value, UID defaultValue) {
        this.setUseShopUid(value == null ? defaultValue : value);
        return this;
    }

    public String getCouponName() {
        return this.couponName;
    }

    public void setCouponName(String value) {
        this.couponName = value;
    }

    public GoodsCouponData withCouponName(String value) {
        this.setCouponName(value);
        return this;
    }

    public GoodsCouponData withCouponName(String value, String defaultValue) {
        this.setCouponName(value == null ? defaultValue : value);
        return this;
    }

    public DynamicValue getCouponManagementId() {
        return this.couponManagementId;
    }

    public void setCouponManagementId(DynamicValue value) {
        this.couponManagementId = value;
    }

    public GoodsCouponData withCouponManagementId(DynamicValue value) {
        this.setCouponManagementId(value);
        return this;
    }

    public GoodsCouponData withCouponManagementId(DynamicValue value, DynamicValue defaultValue) {
        this.setCouponManagementId(value == null ? defaultValue : value);
        return this;
    }

    public UID getCouponManagement() {
        return this.couponManagement;
    }

    public void setCouponManagement(UID value) {
        this.couponManagement = value;
    }

    public GoodsCouponData withCouponManagement(UID value) {
        this.setCouponManagement(value);
        return this;
    }

    public GoodsCouponData withCouponManagement(UID value, UID defaultValue) {
        this.setCouponManagement(value == null ? defaultValue : value);
        return this;
    }

    public Long getStartUseTime() {
        return this.startUseTime;
    }

    public void setStartUseTime(Long value) {
        this.startUseTime = value;
    }

    public GoodsCouponData withStartUseTime(Long value) {
        this.setStartUseTime(value);
        return this;
    }

    public GoodsCouponData withStartUseTime(Long value, Long defaultValue) {
        this.setStartUseTime(value == null ? defaultValue : value);
        return this;
    }

    public Long getEndTime() {
        return this.endTime;
    }

    public void setEndTime(Long value) {
        this.endTime = value;
    }

    public GoodsCouponData withEndTime(Long value) {
        this.setEndTime(value);
        return this;
    }

    public GoodsCouponData withEndTime(Long value, Long defaultValue) {
        this.setEndTime(value == null ? defaultValue : value);
        return this;
    }

    public Object getValueOf(String name) {
        byte var3 = -1;
        switch(name.hashCode()) {
            case -2131635668:
                if (name.equals("levelUid")) {
                    var3 = 9;
                }
                break;
            case -1867729624:
                if (name.equals("forSellTime")) {
                    var3 = 14;
                }
                break;
            case -1800037122:
                if (name.equals("immediately")) {
                    var3 = 18;
                }
                break;
            case -1607243192:
                if (name.equals("endTime")) {
                    var3 = 26;
                }
                break;
            case -1568146203:
                if (name.equals("accumulatePoints")) {
                    var3 = 10;
                }
                break;
            case -1185250696:
                if (name.equals("images")) {
                    var3 = 4;
                }
                break;
            case -1050364800:
                if (name.equals("accessLevel")) {
                    var3 = 8;
                }
                break;
            case -907464819:
                if (name.equals("totalNUmber")) {
                    var3 = 17;
                }
                break;
            case -858803723:
                if (name.equals("typeId")) {
                    var3 = 6;
                }
                break;
            case -539807976:
                if (name.equals("useShopId")) {
                    var3 = 20;
                }
                break;
            case -365755788:
                if (name.equals("goodsCategory")) {
                    var3 = 5;
                }
                break;
            case -282463694:
                if (name.equals("startUseTime")) {
                    var3 = 25;
                }
                break;
            case 109757585:
                if (name.equals("state")) {
                    var3 = 13;
                }
                break;
            case 207037201:
                if (name.equals("goodsId")) {
                    var3 = 2;
                }
                break;
            case 257281341:
                if (name.equals("soldNumber")) {
                    var3 = 16;
                }
                break;
            case 445833715:
                if (name.equals("useShopUid")) {
                    var3 = 21;
                }
                break;
            case 469147652:
                if (name.equals("couponManagementId")) {
                    var3 = 23;
                }
                break;
            case 498555419:
                if (name.equals("typeIdUid")) {
                    var3 = 7;
                }
                break;
            case 554677513:
                if (name.equals("couponManagement")) {
                    var3 = 24;
                }
                break;
            case 601947201:
                if (name.equals("goodsDescribe")) {
                    var3 = 11;
                }
                break;
            case 609436625:
                if (name.equals("couponName")) {
                    var3 = 22;
                }
                break;
            case 719988210:
                if (name.equals("numberLimit")) {
                    var3 = 12;
                }
                break;
            case 935727432:
                if (name.equals("useShopName")) {
                    var3 = 19;
                }
                break;
            case 1098571121:
                if (name.equals("removeTime")) {
                    var3 = 15;
                }
                break;
            case 1211388583:
                if (name.equals("modifyTime")) {
                    var3 = 1;
                }
                break;
            case 1369213417:
                if (name.equals("createTime")) {
                    var3 = 0;
                }
                break;
            case 1394404097:
                if (name.equals("goodsName")) {
                    var3 = 3;
                }
        }

        switch(var3) {
            case 0:
                return this.getCreateTime();
            case 1:
                return this.getModifyTime();
            case 2:
                return this.getGoodsId();
            case 3:
                return this.getGoodsName();
            case 4:
                return this.getImages();
            case 5:
                return this.getGoodsCategory();
            case 6:
                return this.getTypeId();
            case 7:
                return this.getTypeIdUid();
            case 8:
                return this.getAccessLevel();
            case 9:
                return this.getLevelUid();
            case 10:
                return this.getAccumulatePoints();
            case 11:
                return this.getGoodsDescribe();
            case 12:
                return this.getNumberLimit();
            case 13:
                return this.getState();
            case 14:
                return this.getForSellTime();
            case 15:
                return this.getRemoveTime();
            case 16:
                return this.getSoldNumber();
            case 17:
                return this.getTotalNUmber();
            case 18:
                return this.getImmediately();
            case 19:
                return this.getUseShopName();
            case 20:
                return this.getUseShopId();
            case 21:
                return this.getUseShopUid();
            case 22:
                return this.getCouponName();
            case 23:
                return this.getCouponManagementId();
            case 24:
                return this.getCouponManagement();
            case 25:
                return this.getStartUseTime();
            case 26:
                return this.getEndTime();
            default:
                return null;
        }
    }

    public void setValueOf(String name, Object value) {
        byte var4 = -1;
        switch(name.hashCode()) {
            case -2131635668:
                if (name.equals("levelUid")) {
                    var4 = 9;
                }
                break;
            case -1867729624:
                if (name.equals("forSellTime")) {
                    var4 = 14;
                }
                break;
            case -1800037122:
                if (name.equals("immediately")) {
                    var4 = 18;
                }
                break;
            case -1607243192:
                if (name.equals("endTime")) {
                    var4 = 26;
                }
                break;
            case -1568146203:
                if (name.equals("accumulatePoints")) {
                    var4 = 10;
                }
                break;
            case -1185250696:
                if (name.equals("images")) {
                    var4 = 4;
                }
                break;
            case -1050364800:
                if (name.equals("accessLevel")) {
                    var4 = 8;
                }
                break;
            case -907464819:
                if (name.equals("totalNUmber")) {
                    var4 = 17;
                }
                break;
            case -858803723:
                if (name.equals("typeId")) {
                    var4 = 6;
                }
                break;
            case -539807976:
                if (name.equals("useShopId")) {
                    var4 = 20;
                }
                break;
            case -365755788:
                if (name.equals("goodsCategory")) {
                    var4 = 5;
                }
                break;
            case -282463694:
                if (name.equals("startUseTime")) {
                    var4 = 25;
                }
                break;
            case 109757585:
                if (name.equals("state")) {
                    var4 = 13;
                }
                break;
            case 207037201:
                if (name.equals("goodsId")) {
                    var4 = 2;
                }
                break;
            case 257281341:
                if (name.equals("soldNumber")) {
                    var4 = 16;
                }
                break;
            case 445833715:
                if (name.equals("useShopUid")) {
                    var4 = 21;
                }
                break;
            case 469147652:
                if (name.equals("couponManagementId")) {
                    var4 = 23;
                }
                break;
            case 498555419:
                if (name.equals("typeIdUid")) {
                    var4 = 7;
                }
                break;
            case 554677513:
                if (name.equals("couponManagement")) {
                    var4 = 24;
                }
                break;
            case 601947201:
                if (name.equals("goodsDescribe")) {
                    var4 = 11;
                }
                break;
            case 609436625:
                if (name.equals("couponName")) {
                    var4 = 22;
                }
                break;
            case 719988210:
                if (name.equals("numberLimit")) {
                    var4 = 12;
                }
                break;
            case 935727432:
                if (name.equals("useShopName")) {
                    var4 = 19;
                }
                break;
            case 1098571121:
                if (name.equals("removeTime")) {
                    var4 = 15;
                }
                break;
            case 1211388583:
                if (name.equals("modifyTime")) {
                    var4 = 1;
                }
                break;
            case 1369213417:
                if (name.equals("createTime")) {
                    var4 = 0;
                }
                break;
            case 1394404097:
                if (name.equals("goodsName")) {
                    var4 = 3;
                }
        }

        switch(var4) {
            case 0:
                this.setCreateTime((Long)value);
                return;
            case 1:
                this.setModifyTime((Long)value);
                return;
            case 2:
                this.setGoodsId((String)value);
                return;
            case 3:
                this.setGoodsName((String)value);
                return;
            case 4:
                this.setImages((String)value);
                return;
            case 5:
                this.setGoodsCategory((String)value);
                return;
            case 6:
                this.setTypeId((String)value);
                return;
            case 7:
                this.setTypeIdUid((String)value);
                return;
            case 8:
                this.setAccessLevel((List)value);
                return;
            case 9:
                this.setLevelUid((UIDLists)value);
                return;
            case 10:
                this.setAccumulatePoints((Long)value);
                return;
            case 11:
                this.setGoodsDescribe((String)value);
                return;
            case 12:
                this.setNumberLimit((Long)value);
                return;
            case 13:
                this.setState((String)value);
                return;
            case 14:
                this.setForSellTime((Long)value);
                return;
            case 15:
                this.setRemoveTime((Long)value);
                return;
            case 16:
                this.setSoldNumber((Long)value);
                return;
            case 17:
                this.setTotalNUmber((Long)value);
                return;
            case 18:
                this.setImmediately((Boolean)value);
                return;
            case 19:
                this.setUseShopName((String)value);
                return;
            case 20:
                this.setUseShopId((String)value);
                return;
            case 21:
                this.setUseShopUid((UID)value);
                return;
            case 22:
                this.setCouponName((String)value);
                return;
            case 23:
                this.setCouponManagementId((DynamicValue)value);
                return;
            case 24:
                this.setCouponManagement((UID)value);
                return;
            case 25:
                this.setStartUseTime((Long)value);
                return;
            case 26:
                this.setEndTime((Long)value);
                return;
            default:
        }
    }

    public boolean hasField(String name) {
        return FIELD_NAMES.contains(name);
    }

    public int hashCode() {
        return this.signature().hashCode();
    }

    public boolean equals(Object o) {
        return !(o instanceof GoodsCouponData) ? false : this.signature().equals(((GoodsCouponData)o).signature());
    }

    public String signature() {
        throw new RuntimeException("Bean GoodsCouponData has no signature defined, no hash code or equals possible.");
    }
}
